AWSから出力されるいろいろなログまとめ
こんにちは。望月です。
AWSではたくさんのサービスが提供されており、基本的にはそのサービスの中身はブラックボックスです。その機能を利用したいときには内部仕様を知らなくても全く問題ないのですが、障害調査の時などには、「AWSのサービスで何が起きていたのだろう」ということを確認するためにログが調べられると便利ですよね。
現在AWSで提供されているいくつかのサービスでは、各サービスのログがS3に定期的に転送されて閲覧可能になる機能が用意されています。この機能を利用すれば、時間が経過した後でも色々なモニタリングや調査ができるようになりますので、ロギング機能に関しては出来る限りOnにしておくことをお勧めします。
ですが、サービスによってログの形式や配信タイミングなどが異なります。
以下に代表的なサービスのロギング方式についてまとめてみましたので、まとめとしてご利用下さい。
まとめ
ログの種類 | 保存形式 | 取得方法 | 保存間隔 | ログの形式 |
---|---|---|---|---|
CloudFrontアクセスログ | 圧縮済み(.gz) | ディストリビューション毎に指定したS3バケット | 1時間に1度。リクエスト数により複数ファイルになる場合あり。 | アクセスログ - Amazon CloudFront |
ELBアクセスログ | 非圧縮(.log) | ELB毎に指定したS3バケットの、指定したprefix | 5分毎か60分毎を選択可能 | アクセスログ - Elastic Load Balancing |
S3アクセスログ | 非圧縮(拡張子なし) | 指定したS3バケット、prefix以下に「prefix[YYYY-mm-DD-HH-MM-SS-UniqueString]」の形式で配信 | 配信間隔についての明記なし | サーバーアクセスログの形式 - Amazon Simple Storage Service |
CloudTrail API操作ログ | 圧縮済(.json.gz) | 指定したS3バケット、prefix以下に「AWSLogs/[Account ID]/CloudTrail/[region]/[YYYY]/[MM]/[DD]/file_name.json.gz」の形式で配信 | 5分毎 | Record Body Contents - AWS CloudTrail |
RDS インスタンスログ | 非圧縮 | APIコール「rds-watch-db-logfile」および「rds-download-db-logfile」を利用して取得 | DBのタイプおよびログファイルの種類によって異なる | Working with Database Log Files - Amazon Relational Database Service |
EC2 システムログ | 非圧縮 | APIコール「ec2-get-console-output」によって取得 | ほぼ同時だが、時差はあり。最大で64KBまで保持 | コンソール出力の取得とインスタンスの再起動 - Amazon Elastic Compute Cloud |